Micron Document
C.S.Burner 🪙 ━►🔥GIT Node

Node / reticulum_mirror / MeshChatX / files / docker / Dockerfile.electron-wine

Displaying Raw • Download

docker/Dockerfile.electron-wine HEAD (619be5ee) Text, 3.25 KB

T8b949e# Optional Windows (and optional Linux) Electron packages via electron-builder + Wine.
T8b949e# Does not replace GitHub Actions windows-latest builds. Use when you need a local
T8b949e# cross-build without a Windows host.
T8b949e#
T8b949e# Base image: electronuserland/builder (Node + Wine). MeshChatX adds Windows Python
T8b949e# under Wine for cx_Freeze (same idea as task setup:wine / dist:win:wine).
T8b949e#
T8b949e# Build Windows portable + NSIS:
T8b949e# docker build -f docker/Dockerfile.electron-wine -t meshchatx-electron-wine:local .
T8b949e#
T8b949e# Toolchain smoke only (no Electron package):
T8b949e# docker build -f docker/Dockerfile.electron-wine \
T8b949e# --build-arg MESHCHATX_ELECTRON_WINE_TARGETS=smoke \
T8b949e# -t meshchatx-electron-wine:smoke .
T8b949e#
T8b949e# Copy artifacts:
T8b949e# cid=$(docker create meshchatx-electron-wine:local)
T8b949e# docker cp "$cid":/artifacts ./meshchatx-artifacts-win
T8b949e# docker rm "$cid"
T8b949e#
T8b949e# Or: task docker:dist:win

Te6edf3ARG Te6edf3ELECTRON_BUILDER_IMAGETff7b72=Te6edf3electronuserlandTff7b72/Te6edf3builderTb4b4b4:T79c0ff24Tff7b72-Te6edf3wineTff7b72-T79c0ff05.26
Te6edf3ARG Te6edf3ELECTRON_BUILDER_HASHTff7b72=Te6edf3sha256Tb4b4b4:T79c0ff41Te6edf3ae540902461b6cbc988987db79547fcc10cda04d2a6c6367504f59d4b37c64
Te6edf3FROM Tff7b72$Tb4b4b4{Te6edf3ELECTRON_BUILDER_IMAGETb4b4b4}@Tff7b72$Tb4b4b4{Te6edf3ELECTRON_BUILDER_HASHTb4b4b4}

Te6edf3ENV Te6edf3DEBIAN_FRONTENDTff7b72=Te6edf3noninteractive \
Te6edf3PYTHONUNBUFFEREDTff7b72=T79c0ff1 \
Te6edf3WINEDEBUGTff7b72=Tff7b72-Te6edf3all \
Te6edf3WINEARCHTff7b72=Te6edf3win64 \
Te6edf3WINEPREFIXTff7b72=Tff7b72/Te6edf3rootTff7b72/Tff7b72.Td2a8ffwine \
Te6edf3WINE_PYTHONTff7b72=Ta5d6ff"Ta5d6ff/project/scripts/ci/wine-python.shTa5d6ff" \
Te6edf3MESHCHATX_ELECTRON_WINE_TARGETSTff7b72=Te6edf3win \
Te6edf3ELECTRON_CACHETff7b72=Tff7b72/Te6edf3rootTff7b72/Tff7b72.Td2a8ffcacheTff7b72/Te6edf3electron \
Te6edf3ELECTRON_BUILDER_CACHETff7b72=Tff7b72/Te6edf3rootTff7b72/Tff7b72.Td2a8ffcacheTff7b72/Te6edf3electronTff7b72-Te6edf3builder

Te6edf3ARG Te6edf3MESHCHATX_ELECTRON_WINE_TARGETSTff7b72=Te6edf3win
Te6edf3ENV Te6edf3MESHCHATX_ELECTRON_WINE_TARGETSTff7b72=Tff7b72$Tb4b4b4{Te6edf3MESHCHATX_ELECTRON_WINE_TARGETSTb4b4b4}

Te6edf3ARG Te6edf3UV_VERSIONTff7b72=T79c0ff0.11Tff7b72.T79c0ff15
Te6edf3ARG Te6edf3PNPM_VERSIONTff7b72=T79c0ff11.1Tff7b72.T79c0ff2
Te6edf3ARG Te6edf3TASK_VERSIONTff7b72=T79c0ff3.49Tff7b72.T79c0ff1
Te6edf3ENV Te6edf3UV_VERSIONTff7b72=Tff7b72$Tb4b4b4{Te6edf3UV_VERSIONTb4b4b4} \
Te6edf3PNPM_VERSIONTff7b72=Tff7b72$Tb4b4b4{Te6edf3PNPM_VERSIONTb4b4b4} \
Te6edf3TASK_VERSIONTff7b72=Tff7b72$Tb4b4b4{Te6edf3TASK_VERSIONTb4b4b4}

Te6edf3USER Te6edf3root
Te6edf3WORKDIR Tff7b72/Te6edf3project

T8b949e# curl + xvfb for Wine GUI-less installs and NSIS. Base image already has wine/node.
Te6edf3RUN Te6edf3aptTff7b72-Te6edf3get Te6edf3update Tff7b72-Te6edf3y \
Tff7b72&& Te6edf3aptTff7b72-Te6edf3get Te6edf3install Tff7b72-Te6edf3y Tff7b72-Tff7b72-Te6edf3noTff7b72-Te6edf3installTff7b72-Te6edf3recommends Te6edf3caTff7b72-Te6edf3certificates Te6edf3curl Te6edf3xvfb Te6edf3unzip Te6edf3python3 Te6edf3python3Tff7b72-Te6edf3pip Te6edf3python3Tff7b72-Te6edf3packaging \
Tff7b72&& Te6edf3rm Tff7b72-Te6edf3rf Tff7b72/Tff7b72varTff7b72/Te6edf3libTff7b72/Te6edf3aptTff7b72/Te6edf3listsTff7b72/Tff7b72*

T8b949e# Host-side uv downloads Windows wheels (Wine SSL to PyPI is flaky in this image).
Te6edf3COPY Te6edf3scriptsTff7b72/Te6edf3ciTff7b72/Te6edf3githubTff7b72-Te6edf3installTff7b72-Te6edf3uvTff7b72.Td2a8ffsh Te6edf3scriptsTff7b72/Te6edf3ciTff7b72/Te6edf3privTff7b72.Td2a8ffsh Tff7b72/Te6edf3tmpTff7b72/Te6edf3ciTff7b72/
Te6edf3RUN Te6edf3UV_VERSIONTff7b72=Ta5d6ff"Ta5d6ff${UV_VERSION}Ta5d6ff" Te6edf3UV_INSTALL_DIRTff7b72=Tff7b72/Te6edf3usrTff7b72/Te6edf3localTff7b72/Te6edf3bin \
Te6edf3bash Tff7b72/Te6edf3tmpTff7b72/Te6edf3ciTff7b72/Te6edf3githubTff7b72-Te6edf3installTff7b72-Te6edf3uvTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3rm Tff7b72-Te6edf3rf Tff7b72/Te6edf3tmpTff7b72/Te6edf3ci

T8b949e# Bake Wine Python into the image with the embeddable zip (no GUI installer).
T8b949e# Git for Windows is optional for packaging. Skip it in the image bake for speed.
T8b949e# Project pip deps are installed later from the COPY'd tree (lockfile changes often).
Te6edf3COPY Te6edf3scriptsTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh Tff7b72/Te6edf3tmpTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh
Te6edf3RUN Te6edf3chmod Tff7b72+Te6edf3x Tff7b72/Te6edf3tmpTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3MESHCHATX_WINE_INSTALL_REQUIREMENTSTff7b72=T79c0ff0 \
Te6edf3MESHCHATX_WINE_INSTALL_GITTff7b72=T79c0ff0 \
Te6edf3MESHCHATX_WINE_SETUP_DIRTff7b72=Tff7b72/Te6edf3tmpTff7b72/Te6edf3meshchatxTff7b72-Te6edf3wineTff7b72-Te6edf3setup \
Te6edf3bash Tff7b72/Te6edf3tmpTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3rm Tff7b72-Te6edf3rf Tff7b72/Te6edf3tmpTff7b72/Te6edf3meshchatxTff7b72-Te6edf3wineTff7b72-Te6edf3setup Tff7b72/Te6edf3tmpTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3wine Te6edf3CTb4b4b4:Tff7b72/Te6edf3Python314Tff7b72/Te6edf3pythonTff7b72.Td2a8ffexe Tff7b72-Tff7b72-Te6edf3version \
Tff7b72&& Te6edf3wine Te6edf3CTb4b4b4:Tff7b72/Te6edf3Python314Tff7b72/Te6edf3pythonTff7b72.Td2a8ffexe Tff7b72-Te6edf3m Te6edf3pip Tff7b72-Tff7b72-Te6edf3version

Te6edf3COPY Tff7b72. Tff7b72/Te6edf3project

Te6edf3RUN Te6edf3chmod Tff7b72+Te6edf3x Te6edf3scriptsTff7b72/Te6edf3ciTff7b72/Te6edf3dockerTff7b72-Te6edf3electronTff7b72-Te6edf3wineTff7b72-Te6edf3entryTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3chmod Tff7b72+Te6edf3x Te6edf3scriptsTff7b72/Te6edf3ciTff7b72/Te6edf3wineTff7b72-Te6edf3pythonTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3find Te6edf3scriptsTff7b72/Te6edf3ci Tff7b72-Te6edf3maxdepth T79c0ff1 Tff7b72-Te6edf3name Ta5d6ff'Ta5d6ff*.shTa5d6ff' Tff7b72-Te6edf3exec Te6edf3chmod Tff7b72+Te6edf3x Tb4b4b4{Tb4b4b4} Tff7b72+ \
Tff7b72&& Te6edf3chmod Tff7b72+Te6edf3x Te6edf3scriptsTff7b72/Te6edf3setup_wine_envTff7b72.Td2a8ffsh \
Tff7b72&& Te6edf3bash Te6edf3scriptsTff7b72/Te6edf3ciTff7b72/Te6edf3dockerTff7b72-Te6edf3electronTff7b72-Te6edf3wineTff7b72-Te6edf3entryTff7b72.Td2a8ffsh

Served by rngit 1.5.4 - Generated in 0.03s